Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Моделювання режиму очікування в цифрових пристроях за допомогою оператора wait

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Мови опису апаратних засобів

Частина тексту файла

Міністерство освіти і науки України Національний університет ”Львівська політехніка” Кафедра ЕОМ Лабораторна робота №4 З курсу „Мови опису апаратних засобів” на тему: “Моделювання режиму очікування в цифрових пристроях за допомогою оператора wait” Підготував: студент КІ47 Солтис В.І. Перевірив: Кицун Г. В. Львів 2005 Мета роботи: отримати практичні навички застосування оператора wait при моделюванні різних режимів очікування у Active-HDL. Навчитися виконувати порівняння часових діаграм. Теоретична частина Основні види застосування оператора wait Присвоєння нових значень сигналам в процесах відбувається тільки після припинення процесу. Для задання умов припинення процесу використовується оператор wait. Якщо процес містить оператор wait, він виконує послідовно всі оператори до оператора wait. Після цього процес припиняється і очікує виконання умови, заданої в операторі wait. Як тільки це відбувається, процес поновлюється і виконує всі оператори, поки знову не зустріне оператор wait. Існує три типи оператора wait: • wait for time_expression - очікування на протязі певного часу; • wait until condition - очікування виконання логічного виразу; • wait on sensitivity_list - очікування зміни значення сигнала із списку: Якщо змішуються декілька таких умов, вони утворюють четверту конструкцію, яка називається складною умовою. Тип оператора wait Опис Приклади  wait for tyme_expression Припиняє процес на визначений час; Час може бути заданий безпосередньо, або як вираз, результатом якого є значення часу. Використовуються в основному для моделювання на випробувальних стендах. wait for 10 ns; wait for ClkPeriod / 2;  wait until condition Припиняє процес доти, доки задана умова не стане істинною завдяки зміні будь-якого сигналу, що містяться в умові. При цьому, якщо сигнал не змінюється, wait until не поновить процес, навіть якщо сигнал задовільняє умову. wait until CLK='1'; wait until CE and (not RST); wait until IntData > 16;  wait on sensitivity_list Припиняє процес доти, доки не відбудеться подія з будь-яким з сигналів, вказаних в списку чутливості. Іншими словами, процес поновлюється тільки тоді, коли зміниться значення хоча б одного сигналу з списку чутливості. wait on CLK; wait on Enable, Data;  складний wait Містить комбінацію двох або трьох різних форм оператора wait. wait on Data until CLK='1'; wait until Clk='1' for 10 ns;   Якщо симулятор знаходить оператор wait відразу на початку процесу, то процес буде негайно припинений і жодний оператор не буде виконаний. Якщо ж оператор wait розташований в кінці процесу, спочатку будуть виконані всі оператори, що розташовані перед оператором wait, після чого процес буде припинений. Лістінг базового коду та результат його моделювання: library IEEE; use IEEE.std_logic_1164.all; entity comp is port ( clk : in std_logic; Ainout: inout std_logic; Bout: out std_logic); end comp; --}} End of automatically maintained section architecture comp of comp is begin Pr_CLK: process(CLK) begin end process Pr_CLK; Pr_A: process(CLK) begin if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; end process Pr_A; Pr_B: process (Ainout) begin if Ainout'event then Bout<= not Ainout; end if; end process Pr_B; end comp; Результати моделювання з синхронізуючим імпульсом частотою 50 Гц (CLK): Варіант коду із застосуванням оператора wait library IEEE; use IEEE.std_logic_1164.all; entity comp is port ( Ainout: inout std_logic; Bout: out std_logic); end comp; --}} End of automatically maintained section architecture comp of comp is signal clk: std_logic := '1'; begin Pr_CLK: process begin clk <= not clk; wait for 10 ns; end process Pr_CLK; Pr_A: process begin if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; wait on clk; end process Pr_A...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини